form.espol {
    width:550px;
    margin:auto;
}
form.espol .col-left,
form.espol .col-right {
    float:left;
    vertical-align:top;
    display:inline-block;
    width:50%;
    text-align:left;
    margin-bottom:10px;
}

form.espol .heading {
    color:#28a1a5;
    font-weight:500;
    line-height:1.1;
    margin-top:10px;
}

form.espol .input-container {
    border-radius:4px;
    border: 1px solid #dbdbdb;
    background-color: #f7f7f7;
    display:inline-block;
    line-height:32px;
    width:120px;
    font-size:16px;
}
form.espol .input-container input {
    border:0px;
    background:transparent;
    text-align:right;
    width:70px;
    color:#000;
    line-height:32px;
    font-weight:normal;
    margin-left:0px;
    font-size:16px;
    padding-right:0px;
}
form.espol .input-container input:focus {
    background:transparent;
}
    
form.espol fieldset{
    margin: 0;
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid #eaeae9;    
    display: block;
    -webkit-margin-start: 2px;
    -webkit-margin-end: 2px;
    -webkit-padding-before: 0.35em;
    -webkit-padding-start: 0.75em;
    -webkit-padding-end: 0.75em;
    -webkit-padding-after: 0.625em;
    min-width: -webkit-min-content;    
    padding-left:0px;
    padding-right:0px;
}

form.espol legend {
    display: block;
    padding-top: 16px;
    font-size: 18px;
    color: #28a1a5;
    text-align:left;
    font-weight:bold;
}
form.espol .row {
    margin-bottom: 8px;
    padding-bottom: 8px;
    position:relative;
}
form.espol label {
    width: 35%;
    text-align:right;
    line-height:14px;
    padding:3px 0px;
    display:inline-block;
    font-size:14px;
    vertical-align:top;
}
form.espol label.required:after {
    content: ' *';
    color: #a20000;
}
form.espol input {
    height:32px;
    display: inline-block;
    vertical-align:top;
    width: 60%;
    padding: 7px 10px;
    border: 1px solid #dbdbdb;
    background-color: #f7f7f7;
    color: #666;
    border-radius: 4px;
    margin:0px 0px 0px 20px;
    float:none;
}
form.espol input:focus {
    border-color: #cecece;
    background-color: #efefef;
    color: #333;    
}
form.espol input.error {
    border-color: #e50000;
    background-color: #ffefef;
    color: #e50000;
}
form.espol input.error:focus {
    background-color: #ffdbdb;
}
form.espol .error-message {
    position: absolute;
    z-index: 10;
    right: 0px;
    top: 55px;
    display: block;
    width: 220px;
    padding: 8px 16px;
    border: 1px solid #e50000;
    font-style: italic;
    background: rgba(255,239,239,0.9);
    color: #e50000;
    border-radius: 3px;
}
form.espol .error-message:after {
    position: absolute;
    right: 6px;
    top: -8px;
    content: '';
    display: block;
    width: 24px;
    height: 12px;
    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAMCAYAAAB4MH11AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZENUE1RUZBRjRFQTExRTRBMkQ4OUVGMkU0ODRCQkRBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZENUE1RUZCRjRFQTExRTRBMkQ4OUVGMkU0ODRCQkRBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkQ1QTVFRjhGNEVBMTFFNEEyRDg5RUYyRTQ4NEJCREEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkQ1QTVFRjlGNEVBMTFFNEEyRDg5RUYyRTQ4NEJCREEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ljAItAAAAvUlEQVR42mL8//8/A7HghaioFyMbG7P406ebidYEsoAY/EJKyvkZH9/v57y8v17Iy7sSq49ow58LCv78uXPnfxAGsYm1hCTD/3/6BMakWEKy4aRaQpbhpFhCtuHEWkKR4cRYQrHhhCxhfArND8wgiU+ftgitWMHGZmnJQA74dfw4w7uIiF+MfHw+fx8+3A0SY6KW4SAA0gsyA2QWyEyQGOMzbu7/HD4+DNxJSQyUGI7uk6/z5jH82LKFASDAAKq9bgcdjkwWAAAAAElFTkSuQmCC');
    background-size:16px 8px;
    background-repeat:no-repeat;
}

form.espol .row.submit button {
    background-color: #28a1a5;
    background-size: contain;
    background-position: right 17% center;
    width:40%;
    float:none;
    margin:auto;
    display:inline-block;
    font-size:20px;
}
form.espol .row.submit button:hover {
    background-color:#238d90;
}

form.espol .row.checkbox label {
    width: 90%;    
    text-align:center;
}
form.espol .row.checkbox input {
    width:16px;
    height:16px;
    margin:0px; 
}

form.espol .row .select-container,
form.espol .row .radio-container {
    width:60%;
    padding: 0px;
    margin:0px 0px 0px 20px;
    display:inline-block;
}


form.espol .row .radio-container input {
    width: 16px;
    height:16px;
    margin:0px;
    margin-right:5px;
}
form.espol .row .radio-container label {
    display:block;
    width:auto;
    line-height:20px;
    text-align:left;
}


form.espol table {
    margin:10px auto;
    width:100%;
    border: 1px solid #dbdbdb;
    background-color: #f7f7f7;
    font-size:13px;
    border-radius:4px;
}
form.espol table tr {
    display: block;
    float:left;
    width:50%;
}
form.espol table th,
form.espol table td {
    line-height:28px;
    padding: 0px 5px;
}
form.espol table th {
    font-weight: normal;
    text-align:left;
    float:left;
    margin-left:5px;
}
form.espol table td {
    font-weight: bold;    
    text-align:right;
    float:right;
    margin-right:5px;
}

form.espol .select2-container--default .select2-selection--single .select2-selection__arrow {
    background-color:#28a1a5;
    width:40px;
    height:32px;
    top:0px;
    border-radius:0px 4px 4px 0px;
}
form.espol .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #fff transparent transparent transparent;
}
form.espol .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #fff transparent;
}
form.espol .select2-container .select2-selection--single {
    height:32px;
    line-height:32px;
    font-size:14px;
}
form.espol .select2-container--default .select2-selection--single {
    background-color: #f7f7f7;
    border: 1px solid #dbdbdb;
    text-align:left;
}
form.espol .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height:32px;
}
.select2-container--open .select2-dropdown {
    text-align:left;
}


form.espol .lxr-slider .lxr-slider-labels,
form.espol .lxr-slider .lxr-slider-handle-label {
    display:none;
}
form.espol .lxr-slider {
    margin-left:10px;
    margin-right:10px;
}
form.espol .slider-btn-prev,
form.espol .slider-btn-next {
    display:inline-block;
    width: 18px;
    height:18px;
    text-align:center;
    background-color:#28a1a5;
    color:#fff;
    font-weight:bold;
    line-height:18px;
    margin-top:16px;
}
form.espol .slider-btn-prev:after {
    content: "-";
}
form.espol .slider-btn-next:after {
    content: "+";
}
form.espol .slider-btn-prev,
form.espol .slider-btn-next,
form.espol .slider {
    float:left;
}
form.espol .slider {
    width:150px;
    background:transparent;
    padding:0px;
}